﻿/////////////////////////////////////////////////////////////////////////////////
///              ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO                   ///
///                        PROYECTO INTEGRADOR IV                             /// 
///                         PROYECTO SICOPS 2011                              /// 
/// ------------------------------------------------------------------------- ///  
///              **********GRUPO DE DESARROLLADORES**********                 ///
///                    ************PEGASO*************                        /// 
///---------------------------------------------------------------------------///
///                                                         RIOBAMBA-ECUADOR  ///
///---------------------------------------------------------------------------///
///          CLASE DE ADMINISTRACION DE LA TABLA EMPRESA                      ///
/////////////////////////////////////////////////////////////////////////////////

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;
using System.Data.Common;
using System.Drawing;
//Case de administracion de las empresa
namespace LogisticaDeAcceso.ClasesDeAcceso
{
    public class clsEmpresa
    {
        private SqlCommand SqlProSeleccionar;
        private SqlConnection SqlProConexion;
        private SqlDataAdapter SqlProAdaptador;
        /// ///////////////////////////////////////////////////////////////////////////////////////////////////////
        /// /////////////////////////Metodo de configuracion para el ingreso de los centros de costos
      
   
        public void metConfigurarIngreso(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProAdaptador = new SqlDataAdapter();
            this.SqlProConexion = new SqlConnection();

            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_IngresarCentroCostos";
            this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            ///Declaracion de los parametros del procedimiento
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", System.Data.DataRowVersion.Current, null),
            new SqlParameter("@Codigo", SqlDbType.VarChar, 50),
            new SqlParameter("@Nombre", SqlDbType.VarChar, 50),
            new SqlParameter("@Encargado", SqlDbType.VarChar, 50),
            new SqlParameter("@Ubi", SqlDbType.VarChar, 500)});
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
            // 
      
        }
        /// /////////////////////////Metodo de activacion para el ingreso de los centros de costos
        /// 
        public void metActivarIngreso(string Codigo, string Nom,string Enc,string Ubi)
        {
            SqlProAdaptador.SelectCommand.Parameters["@Codigo"].Value = Codigo;////Codigo del centro de costos
            SqlProAdaptador.SelectCommand.Parameters["@Nombre"].Value = Nom;///////nombre del centro de costos
            SqlProAdaptador.SelectCommand.Parameters["@Encargado"].Value = Enc;////nombre del encargado
            SqlProAdaptador.SelectCommand.Parameters["@Ubi"].Value = Ubi;//////////Ubicacion interna del centro
            SqlProConexion.Open();/////////////////////////////////////////////////Abrir la coneccion
            try
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecuta el procedmiento almacenado
            }
            catch(Exception M)
            {
                MessageBox.Show(M.Message);//Aqui se presenta los mensajes que la ejecucion del metodo 
                                           //haya generado 
            }
            SqlProConexion.Close();//Es importante cerrar la coneccion para evitar embotellamientos
        }
        /// ///////////////////////////////////////////////////////////////////////////////////////////////////////
        ///   /// ///////////////////////////////////////////////////////////////////////////////////////////////////////
        ///   Mostrar los datos de las empresas
        ///   

        public void metConfiguracionMostrar(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT     vs_MostrarCentrosCostos.*\r\nFROM         vs_MostrarCentrosCostos";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
     
            //
        }
        public void metActivarConMostra(ColeccionDeDatos Mas)
        {
            SqlProAdaptador.Fill(Mas.vs_MostrarCentrosCostos);
            //Solo se activa los datos de la vista
        }

        //////////////////////////////////////////////////////////////////////////////////////////
        ///////////Metodo para configurar el contador de filas//////////////////////////////////

        public void metConfigurarNumeroFilas(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT     vs_getNumeroCEntroCostos.*\r\nFROM         vs_getNumeroCEntroCostos";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }

        //////////Metodo para activar el ontador de filas
        public void metActivarNumeroFila(ColeccionDeDatos Col)
        {
          SqlProAdaptador.Fill(Col.vs_getNumeroCEntroCostos);
        }
        //Metodo de conteo de registros para generar la clave

        public int setNumeroFilas(ColeccionDeDatos Col)
        {
          DataTable Ta = Col.vs_getNumeroCEntroCostos;
          DataRowCollection Val = Ta.Rows;
          return Val.Count;
        }

        public void metActualizarCentCostos(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_ActualizarCentroCostos";
            this.SqlProSeleccionar.CommandType = System.Data.CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            //Configuracion de la parametros del procedimiento
            this.SqlProSeleccionar.Parameters.AddRange(new System.Data.SqlClient.SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", System.Data.DataRowVersion.Current, null),
            new SqlParameter("@CodigoCent", SqlDbType.VarChar, 15),
            new SqlParameter("@NombreCentr", SqlDbType.VarChar, 60),
            new SqlParameter("@Encarga", SqlDbType.VarChar, 60),
            new SqlParameter("@Ubi", SqlDbType.VarChar, 100)});
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        public void metActivarActualizarCentroCostos(string CodigoCent, string NombreCentr, string Encarga, string Ubi)
        {
            SqlProAdaptador.SelectCommand.Parameters["@CodigoCent"].Value = CodigoCent;//// Codigo del centro de costos
            SqlProAdaptador.SelectCommand.Parameters["@NombreCentr"].Value = NombreCentr;//nombre del centro de costos
            SqlProAdaptador.SelectCommand.Parameters["@Encarga"].Value = Encarga;//////////nombre del encargado
            SqlProAdaptador.SelectCommand.Parameters["@Ubi"].Value = Ubi;/////////////////Ubicacion interna del centro
            SqlProConexion.Open();//Abrir la coneccion
            try
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecuta el procedmiento almacenado
            }
            catch (Exception M)
            {
                MessageBox.Show(M.Message);//Aqui se presenta los mensajes que la ejecucion del metodo 
                //haya generado 
            }
            SqlProConexion.Close();//Es importante cerrar la coneccion para evitar embotellamientos
     
        }
        //Configuracion del procedimiento
        public void metConfigurarEliminarCentro(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_EliminarCentroCostos";
            this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            //Configuracion de los parametro del procedimiento
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", DataRowVersion.Current, null),
            new SqlParameter("@CodigoCentro", SqlDbType.VarChar, 25)});
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
          }
        //Metodo de activacion del procedimiento para eliminar un centro
        public void metActivarEliminarCentro(string Codigo)
        {
            SqlProAdaptador.SelectCommand.Parameters["@CodigoCentro"].Value = Codigo;//Codigo del centro de costos
            SqlProConexion.Open();//Abrir la coneccion
            try
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecuta el procedmiento almacenado
            }
            catch (Exception M)
            {
                MessageBox.Show(M.Message);//Aqui se presenta los mensajes que la ejecucion del metodo 
                //haya generado 
            }
            SqlProConexion.Close();//Es importante cerrar la coneccion para evitar embotellamientos
     
        }
    }
}
